home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk7 / rxutil / sizeblk.rexx < prev    next >
OS/2 REXX Batch file  |  1995-03-18  |  734b  |  30 lines

  1. /* Sizeblk.rexx    Shows recursive function.  -Dave Haynie */
  2.  
  3. call addlib("rexxsupport.library",0,-30,0)
  4.  
  5. parse arg dir .
  6. blocks = countblock(dir)
  7. /* say 'Total of' blocks 'blocks in directory' '9b'x'3m'dir'9b'x'0m' */
  8. say blocks 'blocks in directory: ' dir
  9.  
  10. exit
  11.  
  12. countblock : procedure
  13.    arg dir
  14.    blocks = 0
  15.    files = showdir(dir,'file')
  16.    dirs = showdir(dir,'dir')
  17.    call pragma 'Directory',dir
  18.    do while files ~= ''
  19.       parse var files oner .
  20.       files = delword(files,1,1)
  21.       blocks = blocks + subword(statef(oner),3,1) + 1
  22.    end
  23.    do while dirs ~= ''
  24.       parse var dirs oner .
  25.       dirs = delword(dirs,1,1)
  26.       blocks = blocks + countblock(oner) + 1
  27.    end
  28.    call pragma 'Directory','/'
  29.    return blocks
  30.